def-velocity defines instument velocities. Def-description contains an instrument's name and its value. If the value is a quoted list, it is associated directly with the instrument name, otherwise the evaluated value is used. If you are producing MIDI performance or electroacoustic work then you should always use this function, since it directly controls the velocities of each instrument. The valid velocity values are in the range from 0 to 127.
(setq definition '(a b))
(def-velocity
default '(74 84 70 65 60 94 80 70)
bwave1 '((10 20 30 40 50 60 70 80))
piano (pick-velocity ("veltest" 0.4 a b c a b)
("veltest" 0.3 (use-item definition)))
bass (pick-velocity ("veltest" 0.8 a))
guitar (list (pick-velocity ("veltest" 0.9 a b c)))
)
Nested Lists
The length, velocity and symbol forms can be one of the following:
• a value like 1/16, 64 and a
• a single list (e0 e1 e2... en)
• a nested list ((e0 e1 e2... en))
• a list of lists ((e00 e01 e02... e0n) (e10 e11 e12... e1n) ... (en0 en1 en2... enn)).
The difference between them is that:
• the value is repeated over and over
• the single list is repeated when all of its values are used
• the nested list is restarted at the beginning of every zone
• the list of lists describes the values for each zone. These values are repeated continuously inside the zone. If there are more zones than lists defined then the whole list of lists is restarted.
Note that you must quote these forms if you are writing them manually. If the values are returned by a function the output can be used directly.